<?php
namespace ImiApp\Module\Member\Service\Base;

use Imi\Model\Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 老师 基类
 * @Entity
 * @Table(name="sc_teacher")
 * @DDL("CREATE TABLE `sc_teacher` (
  `uid` int(10) unsigned NOT NULL,
  `create_time` int(10) unsigned DEFAULT NULL COMMENT '创建时间',
  `description` varchar(255) DEFAULT NULL COMMENT '简介',
  `head_image` varchar(255) DEFAULT NULL COMMENT '头像',
  `money` decimal(10,2) DEFAULT NULL COMMENT '金额',
  `cover_image` varchar(255) DEFAULT NULL COMMENT '封面图',
  `update_time` int(10) DEFAULT NULL COMMENT '修改时间',
  `teacher_name` varchar(30) DEFAULT NULL COMMENT '老师姓名',
  `school` varchar(50) DEFAULT NULL COMMENT '学校',
  `school_en` varchar(100) DEFAULT NULL COMMENT '学校英文',
  `subject` varchar(255) DEFAULT NULL COMMENT '主教科目'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='老师'")
 * @property int $uid 
 * @property int $createTime 创建时间
 * @property string $description 简介
 * @property string $headImage 头像
 * @property float $money 金额
 * @property string $coverImage 封面图
 * @property int $updateTime 修改时间
 * @property string $teacherName 老师姓名
 * @property string $school 学校
 * @property string $schoolEn 学校英文
 * @property string $subject 主教科目
 */
abstract class ScTeacherBase extends Model
{
    /**
     * uid
     * @Column(name="uid", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $uid;

    /**
     * 获取 uid
     *
     * @return int
     */ 
    public function getUid()
    {
        return $this->uid;
    }

    /**
     * 赋值 uid
     * @param int $uid uid
     * @return static
     */ 
    public function setUid($uid)
    {
        $this->uid = $uid;
        return $this;
    }

    /**
     * 创建时间
     * create_time
     * @Column(name="create_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $createTime;

    /**
     * 获取 createTime - 创建时间
     *
     * @return int
     */ 
    public function getCreateTime()
    {
        return $this->createTime;
    }

    /**
     * 赋值 createTime - 创建时间
     * @param int $createTime create_time
     * @return static
     */ 
    public function setCreateTime($createTime)
    {
        $this->createTime = $createTime;
        return $this;
    }

    /**
     * 简介
     * description
     * @Column(name="description", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $description;

    /**
     * 获取 description - 简介
     *
     * @return string
     */ 
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * 赋值 description - 简介
     * @param string $description description
     * @return static
     */ 
    public function setDescription($description)
    {
        $this->description = $description;
        return $this;
    }

    /**
     * 头像
     * head_image
     * @Column(name="head_image", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $headImage;

    /**
     * 获取 headImage - 头像
     *
     * @return string
     */ 
    public function getHeadImage()
    {
        return $this->headImage;
    }

    /**
     * 赋值 headImage - 头像
     * @param string $headImage head_image
     * @return static
     */ 
    public function setHeadImage($headImage)
    {
        $this->headImage = $headImage;
        return $this;
    }

    /**
     * 金额
     * money
     * @Column(name="money", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var float
     */
    protected $money;

    /**
     * 获取 money - 金额
     *
     * @return float
     */ 
    public function getMoney()
    {
        return $this->money;
    }

    /**
     * 赋值 money - 金额
     * @param float $money money
     * @return static
     */ 
    public function setMoney($money)
    {
        $this->money = $money;
        return $this;
    }

    /**
     * 封面图
     * cover_image
     * @Column(name="cover_image", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $coverImage;

    /**
     * 获取 coverImage - 封面图
     *
     * @return string
     */ 
    public function getCoverImage()
    {
        return $this->coverImage;
    }

    /**
     * 赋值 coverImage - 封面图
     * @param string $coverImage cover_image
     * @return static
     */ 
    public function setCoverImage($coverImage)
    {
        $this->coverImage = $coverImage;
        return $this;
    }

    /**
     * 修改时间
     * update_time
     * @Column(name="update_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $updateTime;

    /**
     * 获取 updateTime - 修改时间
     *
     * @return int
     */ 
    public function getUpdateTime()
    {
        return $this->updateTime;
    }

    /**
     * 赋值 updateTime - 修改时间
     * @param int $updateTime update_time
     * @return static
     */ 
    public function setUpdateTime($updateTime)
    {
        $this->updateTime = $updateTime;
        return $this;
    }

    /**
     * 老师姓名
     * teacher_name
     * @Column(name="teacher_name", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $teacherName;

    /**
     * 获取 teacherName - 老师姓名
     *
     * @return string
     */ 
    public function getTeacherName()
    {
        return $this->teacherName;
    }

    /**
     * 赋值 teacherName - 老师姓名
     * @param string $teacherName teacher_name
     * @return static
     */ 
    public function setTeacherName($teacherName)
    {
        $this->teacherName = $teacherName;
        return $this;
    }

    /**
     * 学校
     * school
     * @Column(name="school", type="varchar", length=50, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $school;

    /**
     * 获取 school - 学校
     *
     * @return string
     */ 
    public function getSchool()
    {
        return $this->school;
    }

    /**
     * 赋值 school - 学校
     * @param string $school school
     * @return static
     */ 
    public function setSchool($school)
    {
        $this->school = $school;
        return $this;
    }

    /**
     * 学校英文
     * school_en
     * @Column(name="school_en", type="varchar", length=100, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $schoolEn;

    /**
     * 获取 schoolEn - 学校英文
     *
     * @return string
     */ 
    public function getSchoolEn()
    {
        return $this->schoolEn;
    }

    /**
     * 赋值 schoolEn - 学校英文
     * @param string $schoolEn school_en
     * @return static
     */ 
    public function setSchoolEn($schoolEn)
    {
        $this->schoolEn = $schoolEn;
        return $this;
    }

    /**
     * 主教科目
     * subject
     * @Column(name="subject", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $subject;

    /**
     * 获取 subject - 主教科目
     *
     * @return string
     */ 
    public function getSubject()
    {
        return $this->subject;
    }

    /**
     * 赋值 subject - 主教科目
     * @param string $subject subject
     * @return static
     */ 
    public function setSubject($subject)
    {
        $this->subject = $subject;
        return $this;
    }

}
